perm filename DO.RPH[UP,DOC]10 blob sn#367257 filedate 1978-07-10 generic text, type C, neo UTF8
COMMENT ⊗   VALID 00002 PAGES
C REC  PAGE   DESCRIPTION
C00001 00001
C00002 00002	ATTENTION LISPERS AND OTHER USERS OF NON-STANDARD PROCESSORS!!!!!!
C00007 ENDMK
C⊗;
ATTENTION LISPERS AND OTHER USERS OF NON-STANDARD PROCESSORS!!!!!!

	THERE IS NOW A PROGRAM WHICH WILL INTERFACE FROM THE EDITOR
TO LISP OR JUST ABOUT ANYTHING ELSE YOU CAN THINK OF.

	THE PROGRAM IS CALLED "DO" AND IS A SYSTEM COMMAND.

	NOW A LITTLE ABOUT THE PROGRAM:

	THE DO PROGRAM READS ANY STANDARD TEXT FILE AND PUTS THE
CHARACTERS FROM THE FILE INTO YOUR TTY INPUT BUFFER. THEN THE PROGRAM
EXITS AND THE MONITOR READS THE CHARACTERS AND DOES THE REST.
DO IGNORES LINE NUMBERS AND THE TAB FOLLOWING THEM.

	DO ALSO RECOGNIZES THE FOLLOWING SPECIAL PURPOSE CHARACTERS
AND MAKES THE FOLLOWING CONVERSIONS:

	<CR>	IGNORED.

	<LF>	IGNORED.

	↔	INSERT A <CR> AT THIS POINT(THE MONITOR
		USUALLY ECHO'S THIS AS <CR><LF>).

	↓	INSERT AN <LF> AT THIS POINT.

	≠	INSERT AN ALTMODE.

	λ	INSERT A DELAYED ↑C.

	α	ADD CTRL BIT TO THE NEXT CONVERTED CHARACTER.

	<VT>	ADD CTRL BIT TO THE NEXT CONVERTED CHARACTER.

	β	ADD META BIT TO THE NEXT CONVERTED CHARACTER.

	<FF>	ADD META BIT TO THE NEXT CONVERTED CHARACTER.

	⊗	<ESCAPE>	(CIRCLE X)

	⊗-	<BREAK>		(CIRCLE X, MINUS)

	?A	WHERE A IS ANY CHARACTER OTHER THAN <CR> OR <LF>.
		IF THIS IS THE FIRST OCCURENCE OF "A" THEN THE
		PROGRAM PRINTS "?A	" AND INSERTS THE TEXT YOU
		TYPE AT THIS POINT IN THE FILE. (THE CHARACTERS ARE
		THEN CONVERTED .)

	≡	QUOTE THE NEXT CHARACTER.(PASS IT WITH NO CONVERSION.)

        |        separates different DO functions (see below)

	?        takes  the next  character  (other than  RETURN or  LINE)  as a
		 variable name.  Suppose the character is A (i.e., ?A).  If this
		 is  the  first occurrence  of  ?A  in the  file,  DO  types out
		 "A=     " and  waits for you  to type in  a text  string ending
		 with RETURN.  This  string is substituted for  every occurrence
		 of ?A in the file.

To allow more than  one DO function to be  stored in the same  file (because
small  files are  inefficient in  using disk  space), the  vertical  bar (|)
character can be used as a separator.  The command

DO DOFILE(3)

will DO the commands between the second and third | characters in the file.

RUNNING DO:

	IF YOU SAY "R DO" YOU WILL GET A STAR. YOU THEN TYPE THE NAME
OF THE FILE YOU WISH TO "DO". 

	IF YOU  SAY "DO <FILENAME>" IT WRITES  A QQSVCM.RPG SUCH THAT
IF YOU SAY "G" TO THE EDITOR  YOU GET THE SAME DO OPERATION. IT  ALSO
WRITES A QQDO.RPG SUCH THAT IF YOU SAY "DO" WITH NO FILENAME IT TRIES
TO  FIND THE LAST ONE YOU  "DID".  SAYING "DO  FOO" WILL FIRST TRY TO
`DO' FILE "FOO.DO", THEN TRY "FOO" IF "FOO.DO" DOESN'T EXIST.  SAYING
"DO FOO." WILL DO FILE "FOO". 

Nesting do files doesn't work, but chaining them at monitor level does.
This avoids the restriction on line length. [PAM-2/7/77]

Vbar documentation copied from moncom [PAM-7/10/78]